
--------------------------------------------------------------------------------------------------------------------------------------- 
--版权声明：本demo集源于上海合宙官方技术团队的DEMO（MIT），并参考了合宙开源社区的众多大佬无私分享的代码，包括但不限于 稀饭放姜、Wendal、晨旭等
-- 目前参考到的开源项目有： iRTU（MIT)、LuatOS(MIT)
-- 欲获取更多luat 代码请访问 doc.openluat.com
-- 如果您觉得本demo集包含了未经由您授权的代码，请联系 64034373@qq.com 
---------------------------------------------------------------------------------------------------------------------------------------

-- @模块功能：三方编程接口DEMO
-- @author 作者
-- @module midemo.demo
-- @license MIT
-- @copyright 作者@luat
-- @release 2020-09-28
--------------------------------------------------------------------------
--帮助系统显示用的模块说明
HELP=[[三方编程接口DEMO]]
HELP=[[本DEMO是一个框架程序描述如何向DEMO集添加您自己的模块]]
HELP=[[使用方法]]
HELP=[[如果您调试好了一个功能模块，并可以顺利和mi-demo框架进行交互，并有意使您的项目成为demo集的一部分请与我联系]]
HELP=[[联系方式为64034373@qq.com]]
HELP=[[您也可以建立mi-demo的分支，并把代码上传到您自己的gitee主页上，并通知我。]]
HELP=[[衷心感谢您的参与和支持]]
HELP=[[例子：]]
HELP=[[DEMO,123]]
HELP=[[返回：您刚刚执行了DEMO命令，命令共有1个参数]]
--------------------------------------------------------------------------
-- @使用方法
-- @本DEMO是一个框架程序描述如何向DEMO集添加您自己的模块
-- @如果您调试好了一个功能模块，并可以顺利和mi-demo框架进行交互，并有意使您的项目成为demo集的一部分请与我联系
-- @联系方式为64034373@qq.com
-- @您也可以建立mi-demo的分支，并把代码上传到您自己的gitee主页上，并通知我。
-- @衷心感谢您的参与和支持

module(...,package.seeall)

local modulename=...
--注册到全局状态表
table.insert(status.INSTALLED,modulename)
--通过消息发送调试信息到串口和网络
function pub(s)
    s="["..(modulename).."]"..s
    sys.publish("CON",s.."\r\n")
    sys.publish("NET_CMD_MONI",s.."\r\n")
end

--通过这个回调函数可以响应任意的串口或网络发布的命令
sys.subscribe("DEMO",function(...)
    --通过arg可以从输入的命令行读入参数，并以逗号作为分隔符
    --a=arg[1]
    --b=arg[2]
    --c=arg[3]
    --通过write函数可以向串口和网络上报您的信息
    pub("您刚刚执行了DEMO命令，".."命令共有"..#arg.."个参数".."\r\n")
end)
